Executing Query Flocks for ILP
نویسندگان
چکیده
The aim of data mining is to derive rules that describe characteristics of sets of data. Inductive Logic Programming does this by repeatedly constructing sets of related queries and by determining the success or failure of all these queries for a given data set in order to select the best fitting query. In the ILP systems of the Leuven ML team, each query is actually a conjunction of calls to Prolog predicates appearing in the data set or appearing in the background knowledge. The number of related queries can be huge and queries with common prefixes occur frequently. This paper investigates the flock construct that makes this overlap between queries explicit and offers an opportunity to reduce the execution time for the set of queries. Three implementations of the flock construct are discussed: a meta-interpreter, a source-to-source transformation and an implementation in a WAM-setting. Preliminary experiments with the latter are very promising, e.g., in the case of a benchmark from an existing application the flock construct realises a speedup by an order of magnitude. We also discuss briefly ways to exploit the fact that a prefix succeeds.
منابع مشابه
Query Optimization: Combining Query Packs and the Once-Transformation
In Inductive Logic Programming (ILP), several techniques have been introduced to improve the efficiency of query execution. One such technique is query pack execution. A set of queries with a common prefix, as it is generated by the refinement operator of a typical ILP system, can be executed faster after it is converted into a tree structure called a query pack. Query transformations, on the o...
متن کاملExecuting Query Packs in ILP
Inductive logic programming systems usually send large numbers of queries to a database. The lattice structure from which these queries are typically selected causes many of these queries to be highly similar. As a consequence, independent execution of all queries may involve a lot of redundant computation. We propose a mechanism for executing a hierarchically structured set of queries (a \quer...
متن کاملAn Execution Mechanism for Combining Query Packs and Once-Transformations
In Inductive Logic Programming (ILP), several techniques have been introduced to improve the efficiency of query execution. One such technique is query pack execution. A set of queries with a common prefix, as it is generated by the refinement operator of a typical ILP system, can be executed faster after it is converted into a tree structure called a query pack. On the other hand, query transf...
متن کاملImproving the Efficiency of Inductive Logic Programming Through the Use of Query Packs
Inductive logic programming, or relational learning, is a powerful paradigm for machine learning or data mining. However, in order for ILP to become practically useful, the eÆciency of ILP systems must improve substantially. To this end, the notion of a query pack is introduced: it structures sets of similar queries. Furthermore, a mechanism is described for executing such query packs. A comple...
متن کاملParallel Inductive Logic Programming
The generic task of Inductive Logic Programming (ILP) is to search a predeened subspace of rst-order logic for hypotheses that in some respect explain examples and background knowledge. In this paper we consider the development of parallel implementations of ILP systems. A rst part discusses the division of the ILP-task into subtasks that can be handled concurrently by multiple processes execut...
متن کامل